import 'package:get/get.dart';
import 'package:smart_translator/app/modules/videoCall/bindings/video_calling_binding.dart';
import 'package:smart_translator/app/modules/videoCall/views/video_calling_view.dart';
import '../modules/ForgotPasswd/bindings/forgot_passwd_binding.dart';
import '../modules/ForgotPasswd/bindings/validate_code_binding.dart';
import '../modules/ForgotPasswd/views/forgot_passwd_view.dart';
import '../modules/ForgotPasswd/views/validate_code_view.dart';
import '../modules/IndexTranslation/bindings/index_translation_binding.dart';
import '../modules/IndexTranslation/views/index_translation_view.dart';
import '../modules/NoFoundDevice/bindings/no_found_device_binding.dart';
import '../modules/NoFoundDevice/views/no_found_device_view.dart';
import '../modules/TranslateResultLandscape/bindings/translate_result_landscape_binding.dart';
import '../modules/TranslateResultLandscape/views/translate_result_landscape_view.dart';
import '../modules/aboutUs/bindings/about_us_binding.dart';
import '../modules/aboutUs/views/about_us_view.dart';
import '../modules/chooseDevice/bindings/choose_device_binding.dart';
import '../modules/chooseDevice/views/choose_device_view.dart';
import '../modules/connectingDevice/bindings/connecting_device_binding.dart';
import '../modules/connectingDevice/views/connecting_device_view.dart';
import '../modules/editScriptlist/bindings/edit_scriptlist_binding.dart';
import '../modules/editScriptlist/views/edit_scriptlist_view.dart';
import '../modules/historyRecords/bindings/history_records_binding.dart';
import '../modules/historyRecords/views/history_records_view.dart';
import '../modules/home/bindings/home_binding.dart';
import '../modules/home/views/home_view.dart';
import '../modules/landscapeDirectTrans/bindings/landscape_direct_trans_binding.dart';
import '../modules/landscapeDirectTrans/views/landscape_direct_trans_view.dart';
import '../modules/languageOpinion/bindings/language_opinion_binding.dart';
import '../modules/languageOpinion/views/language_opinion_view.dart';
import '../modules/launcher/bindings/launcher_binding.dart';
import '../modules/launcher/views/launcher_view.dart';
import '../modules/listenerTranslation/bindings/listener_translation_binding.dart';
import '../modules/listenerTranslation/views/listener_translation_view.dart';
import '../modules/listeningTransLandscape/bindings/listening_trans_landscape_binding.dart';
import '../modules/listeningTransLandscape/views/listening_trans_landscape_view.dart';
import '../modules/login/bindings/login_binding.dart';
import '../modules/login/views/login_view.dart';
import '../modules/mineProfile/bindings/mine_profile_binding.dart';
import '../modules/mineProfile/views/mine_profile_view.dart';
import '../modules/offlineModels/bindings/offline_models_binding.dart';
import '../modules/offlineModels/views/offline_models_view.dart';
import '../modules/phoneLogin/bindings/phone_login_binding.dart';
import '../modules/phoneLogin/views/phone_login_view.dart';
import '../modules/photoTranslate/bindings/photo_translate_binding.dart';
import '../modules/photoTranslate/views/photo_translate_view.dart';
import '../modules/realTimeLandscape/bindings/real_time_landscape_binding.dart';
import '../modules/realTimeLandscape/views/real_time_landscape_view.dart';
import '../modules/realTranslation/bindings/real_translation_binding.dart';
import '../modules/realTranslation/views/real_translation_view.dart';
import '../modules/recordscriptDetail/bindings/recordscript_detail_binding.dart';
import '../modules/recordscriptDetail/views/recordscript_detail_view.dart';
import '../modules/regist/bindings/regist_binding.dart';
import '../modules/regist/views/regist_view.dart';
import '../modules/searchingTranscript/bindings/searchingTranscript_binding.dart';
import '../modules/searchingTranscript/views/searchingTranscript_view.dart';
import '../modules/translateResult/bindings/translate_result_binding.dart';
import '../modules/translateResult/views/translate_result_view.dart';
import '../modules/validateCode/bindings/validate_code_binding.dart';
import '../modules/validateCode/views/validate_code_view.dart';
import '../modules/webview/bindings/webview_binding.dart';
import '../modules/webview/views/webview_view.dart';

part 'app_routes.dart';

class AppPages {
  AppPages._();

  static const INITIAL = Routes.LAUNCHER;

  static final routes = [
    GetPage(
      name: _Paths.HOME,
      page: () => const HomeView(),
      binding: HomeBinding(),
    ),
    GetPage(
      name: _Paths.LAUNCHER,
      page: () => const LauncherView(),
      binding: LauncherBinding(),
    ),
    GetPage(
      name: _Paths.LOGIN,
      page: () => LoginView(),
      binding: LoginBinding(),
    ),
    GetPage(
      name: _Paths.REGIST,
      page: () => RegistView(),
      binding: RegistBinding(),
    ),
    GetPage(
      name: _Paths.FORGOT_PASSWD,
      page: () => ForgotPasswdView(),
      binding: ForgotPasswdBinding(),
    ),
    GetPage(
      name: _Paths.FORGOT_VALIDATE_CODE,
      page: () => ForgotValidateCodeView(),
      binding: ForgotValidateCodeBinding(),
    ),
    GetPage(
      name: _Paths.VALIDATE_CODE,
      page: () => ValidateCodeView(),
      binding: ValidateCodeBinding(),
    ),
    GetPage(
      name: _Paths.PHONE_LOGIN,
      page: () => PhoneLoginView(),
      binding: PhoneLoginBinding(),
    ),
    GetPage(
      name: _Paths.CHOOSE_DEVICE,
      page: () => const ChooseDeviceView(),
      binding: ChooseDeviceBinding(),
    ),
    GetPage(
      name: _Paths.CONNECTING_DEVICE,
      page: () => const ConnectingDeviceView(),
      binding: ConnectingDeviceBinding(),
    ),
    GetPage(
      name: _Paths.INDEX_TRANSLATION,
      page: () => const IndexTranslationView(),
      binding: IndexTranslationBinding(),
    ),
    GetPage(
      name: _Paths.LANGUAGE_OPINION,
      page: () => const LanguageOpinionView(),
      binding: LanguageOpinionBinding(),
    ),
    GetPage(
      name: _Paths.TRANSLATE_RESULT,
      page: () => const TranslateResultView(),
      binding: TranslateResultBinding(),
    ),
    GetPage(
      name: _Paths.REAL_TRANSLATION,
      page: () => RealTranslationView(),
      binding: RealTranslationBinding(),
    ),
    GetPage(
      name: _Paths.HISTORY_RECORDS,
      page: () => const HistoryRecordsView(),
      binding: HistoryRecordsBinding(),
    ),
    GetPage(
      name: _Paths.LISTENER_TRANSLATION,
      page: () => const ListenerTranslationView(),
      binding: ListenerTranslationBinding(),
    ),
    GetPage(
      name: _Paths.ABOUT_US,
      page: () => const AboutUsView(),
      binding: AboutUsBinding(),
    ),
    GetPage(
      name: _Paths.MINE_PROFILE,
      page: () => const MineProfileView(),
      binding: MineProfileBinding(),
    ),
    GetPage(
      name: _Paths.WEBVIEW,
      page: () => const WebviewView(),
      binding: WebviewBinding(),
    ),
    GetPage(
      name: _Paths.NO_FOUND_DEVICE,
      page: () => const NoFoundDeviceView(),
      binding: NoFoundDeviceBinding(),
    ),
    GetPage(
      name: _Paths.OFFLINE_MODELS,
      page: () => const OfflineModelsView(),
      binding: OfflineModelsBinding(),
    ),
    GetPage(
      name: _Paths.RECORDSCRIPT_DETAIL,
      page: () => RecordscriptDetailView(),
      binding: RecordscriptDetailBinding(),
    ),
    GetPage(
      name: _Paths.LANDSCAPE_DIRECT_TRANS,
      page: () => const LandscapeDirectTransView(),
      binding: LandscapeDirectTransBinding(),
    ),
    GetPage(
      name: _Paths.REAL_TIME_LANDSCAPE,
      page: () => const RealTimeLandscapeView(),
      binding: RealTimeLandscapeBinding(),
    ),
    GetPage(
      name: _Paths.LISTENING_TRANS_LANDSCAPE,
      page: () => const ListeningTransLandscapeView(),
      binding: ListeningTransLandscapeBinding(),
    ),
    GetPage(
        name: _Paths.TRANSLATE_RESULT_LANDSCAPE,
        page: () => const TranslateResultLandscapeView(),
        binding: TranslateResultLandscapeBinding()),
    GetPage(
        name: _Paths.PHOTO_TRANSLATE,
        page: () => PhotoTranslateView(),
        binding: PhotoTranslateBinding()),
    GetPage(
        name: _Paths.SEARCH_TRANSCRIPT,
        page: () => SearchingtranscriptView(),
        binding: SearchingtranscriptBinding()),
    GetPage(
      name: _Paths.EDIT_SCRIPTLIST,
      page: () => const EditScriptlistView(),
      binding: EditScriptlistBinding(),
    ),
    GetPage(
        name: _Paths.REALTIME_CALL,
        page: () =>  VideoCallingView(),
        binding: VideoCallingBinding()
    ),
  ];
}
